package com.ghy.service;

import com.ghy.dto.SeckillInsertDTO;
import com.ghy.dto.SeckillPageDTO;
import com.ghy.dto.SeckillUpdateDTO;
import com.ghy.entity.Seckill;
import com.ghy.vo.SeckillSimpleListVO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.ghy.entity.Seckill;

import java.util.List;

/**
 * 秒杀表 服务层。
 *
 * @author ghy
 * @since 2024-12-22
 */
public interface SeckillService extends IService<Seckill> {

    boolean insert(SeckillInsertDTO dto);
    Seckill select(Long id);
    boolean update(SeckillUpdateDTO dto);
    boolean delete(Long id);
    boolean deleteBatch(List<Long> ids);
    List<SeckillSimpleListVO> simpleList();
    Page<Seckill> page(SeckillPageDTO dto);
    /**
     * 查询距离当前时间最近的前N条秒杀活动记录，根据开始时间升序
     *
     * @param n 前N条
     * @return 前N条秒杀活动记录
     */
    List<Seckill> near(Long n);

}
